package week1.day3;

/**
 * @Author fengzihao
 * @Date 2024-04-17 15:12
 */
public class QuestionAndAnswer {


//     1.数组创建后，还能修改它的长度吗？可以修改元素的取值吗？
//
//     2.动态初始化数组并没有指出数组中元素的具体取值，这时数组可用吗？为什么？请指出各种数据类型数组对象中的元素默认值。
//
//     3.数组）对象中的元素具有默认值，那么引用(局部变量)具有默认值吗？
//
//     4.数组操作中会碰到哪些异常？是什么原因导致的?
//
//     5.数组遍历方式中，普通for循环和增强for循环有什么不同？它们的使用场景是什么样的？
//
//     参考回答如下：
//
//     1.数组对象一旦在堆上创建，除非销毁它，不然长度不可以改变。但是元素取值肯定是可以改变的。
//     2.可以用，数组对象中的元素具有默认初始化，具有默认值。
//     堆上对象中的变量具有默认值：
//     整形（byte、short、int、long）默认值为0
//     浮点类型（float、double）默认值为0.0
//     字符类型（char）默认值是'\u0000' 表示编码值为0的字符，一个绝对空字符。
//     布尔类型（boolean）默认值是false
//     引用数据类型默认值是null
//     3.局部变量没有默认值，必须手动初始化赋值才能够使用。
//     4.数组下标越界异常：访问了不合法的下标。
//     空指针异常：使用等于null的引用访问/操作对象。
//     5.普通for循环遍历的是数组的下标且能够修改数组元素，但是普通for语法比较复杂。
//     增强for循环直接遍历数组元素没有下标，且不能修改数组元素，但是增强for语法简洁，遍历的效率更高。
//     有修改元素或者使用下标的需求时，必须用普通for
//     其余场景都优先考虑增强for循环。
}
